module.exports = {
    greetingPrefix: 'Hello',
    test() {
        /* e.g. "Hello, AutoJs6 6.4.1" */
        toastLog(`${this.greetingPrefix}, ${context.getString(R.strings.app_name)} ${app.autojs.versionName}`);
    },

    closeAppFromTaskManager(packageName) {
        // 打开任务管理器
        app.openAppSetting(packageName);
        sleep(1000);  // 等待界面加载

        // 找到关闭按钮，并点击
        let closeButton = className("android.widget.TextView").text("结束运行").findOne();
        if (closeButton) {
            closeButton.click();
            sleep(500);  // 等待半秒
            console.log('关闭应用')
        }
        console.log('应用未启动')
    },

    navigateToHome(isAtHome) {
        while (true) {
            back();  // 模拟按下返回键
            sleep(500);  // 等待半秒
            // 检查是否已经返回到首页
            if (isAtHome()) {
                console.log('已经回到首页')
                break;
            }
        }
    },

    printAllElements(root) {
        // 如果元素为空，直接返回
        if (!root) {
            return;
        }

        // 打印元素属性
        // console.log(`Element Class: ${root.className()}, Text: ${root.text()}, ID: ${root.id()}`);
        console.log(`Element Class: ${root}`);

        // 获取子元素列表
        let children = root.children();
        // 递归遍历子元素列表
        for (let i = 0; i < children.length; i++) {
            printAllElements(children[i]);
        }
    },

    printCurrentActivityElements() {
        // 获取当前活动界面的根元素
        let root = currentActivity();
        // 打印所有元素
        this.printAllElements(root);
    },

    gotoPageTaskList() {
        className("android.widget.TextView").text("获取积分").waitFor();
        sleep(200)
        className("android.widget.TextView").text("获取积分").findOne().click();
        sleep(200)
        // 等待任务列表加载完毕
        className("android.widget.TextView").text("每日积分签到打卡").waitFor();
        console.log('进入任务列表')
    },

    executeTask: {
        '每日登录CF游戏': function (node) {
            // 确保当前游戏选择的是 CF
            console.log(node.center().x)
            click(951, 993)
            sleep(200)
            if (className("android.widget.TextView").text("请完成任务后领取积分").exists()
                && className("android.widget.Button").text("确定").exists()) {
                className("android.widget.Button").text("确定").findOne().click()
                console.log('任务尚未完成，请完成当前任务后再执行脚本');
                return;
            }

            if (className("android.widget.TextView").text("请切换掌火业务到CF，再来领取吧！").exists()
                && className("android.widget.Button").text("确定").exists()) {
                console.log('切换CF')
                className("android.widget.Button").text("确定").findOne().click()
                autojsUtils.switchGame('CF');
            }
        }
    },

    // 切换游戏方法
    switchGame(name) {
        // back();  // 模拟按下返回键
        // sleep(500);  // 等待半秒
        // back();  // 模拟按下返回键
        // sleep(500);  // 等待半秒
        // back();  // 模拟按下返回键
        // sleep(500);  // 等待半秒
        this.navigateToHome(function () {
            return id('content_fragment_3').exists();
        });
        sleep(200)
        click(966, 187)
        sleep(200)
        switch (name) {
            case "CF":
                click(173, 400);
                break;
            case "CFHD":
                click(900, 400);
                break;
            case "CFM":
                click(500, 400);
                break;
        }

        // 173   500   900
    }
};
